package com.hxkj.client.service;

import com.hxkj.domain.po.TagsClassify;
import com.platform.common.domain.result.ParameterDataStruct;
import com.platform.common.domain.result.ResultMessageStruct;
import com.platform.common.domain.result.ResultPageStruct;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import java.util.List;

/**
 * @InterfaceName TagsClassifyServiceClient
 * @Description TODO
 * @Author Mr.zheng
 * @Date 2018/6/7 11:53
 * @Version 1.0
 */
@FeignClient(name = "cms-article")
public interface TagsClassifyServiceClient {

    /**
     * @return com.platform.common.domain.result.ResultMessageStruct
     * @author Mr.zheng
     * @Description saveTagsClassify 新增tags标签分类
     * @Date 14:22 2018/6/7
     * @Param [tagsClassify]
     **/
    @RequestMapping(value = "/tagsclassify/save", method = RequestMethod.POST, consumes = "application/json;charset=UTF-8")
    ResultMessageStruct saveTagsClassify(@RequestBody TagsClassify tagsClassify) throws Exception;


    /**
     * @return com.platform.common.domain.result.ResultPageStruct<com.hxkj.domain.po.TagsClassify>
     * @author Mr.zheng
     * @Description getTagsClassifyList 获取tags标签分类列表
     * @Date 15:16 2018/6/7
     * @Param [parameterDataStruct]
     **/
    @RequestMapping(value = "/tagsclassify/getlist", method = RequestMethod.POST, consumes = "application/json;charset=UTF-8")
    ResultPageStruct<TagsClassify> getTagsClassifyList(@RequestBody ParameterDataStruct<TagsClassify> parameterDataStruct) throws Exception;


    /**
     * @return com.platform.common.domain.result.ResultMessageStruct
     * @author Mr.zheng
     * @Description removerTagsClassify 删除tags标签分类
     * @Date 15:17 2018/6/7
     * @Param [tagsClassify]
     **/
    @RequestMapping(value = "/tagsclassify/remove", method = RequestMethod.POST, consumes = "application/json;charset=UTF-8")
    ResultMessageStruct removeTagsClassify(@RequestBody TagsClassify tagsClassify) throws Exception;

    /**
     * @return com.platform.common.domain.result.ResultMessageStruct
     * @author Mr.zheng
     * @Description modifyTagsClassify 修改tags标签分类
     * @Date 15:32 2018/6/7
     * @Param [tagsClassify]
     **/
    @RequestMapping(value = "/tagsclassify/modify", method = RequestMethod.POST, consumes = "application/json;charset=UTF-8")
    ResultMessageStruct modifyTagsClassify(@RequestBody TagsClassify tagsClassify) throws Exception;


    /**
     * @return com.platform.common.domain.result.ResultPageStruct<com.hxkj.domain.po.TagsClassify>
     * @author Mr.zheng
     * @Description getTagsList 获取tags标签分类下拉框
     * @Date 14:22 2018/6/7
     * @Param [parameterDataStruct]
     **/
    @RequestMapping(value = "/tagsclassify/getdownlist", method = RequestMethod.POST, consumes = "application/json;charset=UTF-8")
    List<TagsClassify> getTagsClassifyDownList(@RequestBody TagsClassify tagsClassify) throws Exception;
}
